import java.util.Arrays;

/**
 * @ClassName SearchMoreNum
 * @Description 给定一个大小为 n 的数组，
 * 找到其中的多数元素。多数元素是指在数组中出现次数
 * 大于 ⌊ n/2 ⌋ 的元素。
 * 你可以假设数组是非空的，并且给定的数组总是存在多数元素。
 * 输入：[3,2,3]
 * 输出：3
 * @Author 李明忠
 * @Date 2025/5/21 13:54
 * @Version 1.0
 */
public class SearchMoreNum {
    private static int searchMoreNum(int[] arr) {
        //首先对原数组进行排序
        Arrays.sort(arr);
        //用于存储出现次数最多的的那一个数
        int temp = 0;
        //创建辅助数组，数组长度为原数组中最大的元素值+1
        int[] array = new int[arr[arr.length - 1] + 1];
        //遍历原数组，对出现的数进行计数
        for (int i = 0; i < arr.length; i++) {
            array[arr[i]] ++;
        }
        //找出最大数
        for (int i = 0; i < array.length; i++) {
            if (array[i] > temp) {
                temp = i;
            }
        }
        return temp;
    }
    public static void main(String[] args) {
        int[] arr = {2,2,1,1,1,2,2};
        int tmp = searchMoreNum(arr);
        System.out.println(tmp);
    }
}
